//
//  main.m
//  OC01_类和对象
//
//  Created by 侯平章 on 16/2/21.
//  Copyright © 2016年 侯平章. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "Person.h"
int main(int argc, const char * argv[]) {
    
#pragma mark  知识点1:类和对象
    /**
     *类  特征(实例变量)和行为(方法).
     *面向对象编程三步:定义类  创建对象 使用对象.
     */
    
#pragma mark 知识点1.1:类的定义
    /** 详见 .h 和.m 类文件*/
    
#pragma mark 知识点1.2:创建对象
    
#if 0
    
    // 1.开辟空间.
    Person *person1 = [Person alloc];
    // 2.初始化.
    person1 = [person1 init];
    //alloc之后必须初始化,所以通常alloc和init方法连写
    Person *person2 =  [[Person alloc] init];
#endif
#pragma mark  知识点2:使用对象
    
    /**使用对象,就是调用对象(功能).*/
    
    //创建对象.
    Person *person3 = [[Person alloc] init];
    //使用对象(调用方法)
    [person3 info];
    [person3 sayHi];
    
#pragma mark  知识点3:实例变量的操作
    
    
    //创建对象
    Person *per1 = [[Person alloc] init];
    
    //实例变量的赋值.
    per1->_name = @"张三";
    per1->_age  = 18;
    
    //实例变量的取值.
    NSLog(@"name:%@",per1->_name);
    //调用对象方法.
    [per1 info];
    [per1 sayHi];
    
    
    return 0;
}
